<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK IT ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2014 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------
namespace Think;
/**
 * ThinkPHP 应用程序类 执行应用过程管理
 */
class App {

    /**
     * 应用程序初始化
     * @access public
     * @return void
     */
    static public function init() {
        // 加载动态应用公共文件和配置
        load_ext_file(COMMON_PATH);

        // 日志目录转换为绝对路径 默认情况下存储到公共模块下面
        C('LOG_PATH',   realpath(LOG_PATH).'/Common/');

        // 定义当前请求的系统常量
        define('NOW_TIME',      $_SERVER['REQUEST_TIME']);
        define('REQUEST_METHOD',$_SERVER['REQUEST_METHOD']);
        define('IS_GET',        REQUEST_METHOD =='GET' ? true : false);
        define('IS_POST',       REQUEST_METHOD =='POST' ? true : false);
        define('IS_PUT',        REQUEST_METHOD =='PUT' ? true : false);
        define('IS_DELETE',     REQUEST_METHOD =='DELETE' ? true : false);

        // URL调度
        Dispatcher::dispatch();

        if(C('REQUEST_VARS_FILTER')){
			// 全局安全过滤
			array_walk_recursive($_GET,		'think_filter');
			array_walk_recursive($_POST,	'think_filter');
			array_walk_recursive($_REQUEST,	'think_filter');
		}

        // URL调度结束标签
        Hook::listen('url_dispatch');         

        define('IS_AJAX',       ((isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') || !empty($_POST[C('VAR_AJAX_SUBMIT')]) || !empty($_GET[C('VAR_AJAX_SUBMIT')])) ? true : false);

        // TMPL_EXCEPTION_FILE 改为绝对地址
        C('TMPL_EXCEPTION_FILE',realpath(C('TMPL_EXCEPTION_FILE')));
        return ;
    }

    /**
     * 执行应用程序
     * @access public
     * @return void
     */
    static public function exec() {
    
        if(!preg_match('/^[A-Za-z](\/|\w)*$/',CONTROLLER_NAME)){ // 安全检测
            $module  =  false;
        }elseif(C('ACTION_BIND_CLASS')){
            // 操作绑定到类：模块\Controller\控制器\操作
            $layer  =   C('DEFAULT_C_LAYER');
            if(is_dir(MODULE_PATH.$layer.'/'.CONTROLLER_NAME)){
                $namespace  =   MODULE_NAME.'\\'.$layer.'\\'.CONTROLLER_NAME.'\\';
            }else{
                // 空控制器
                $namespace  =   MODULE_NAME.'\\'.$layer.'\\_empty\\';                    
            }
            $actionName     =   strtolower(ACTION_NAME);
            if(class_exists($namespace.$actionName)){
                $class   =  $namespace.$actionName;
            }elseif(class_exists($namespace.'_empty')){
                // 空操作
                $class   =  $namespace.'_empty';
            }else{
                E(L('_ERROR_ACTION_').':'.ACTION_NAME);
            }
            $module  =  new $class;
            // 操作绑定到类后 固定执行run入口
            $action  =  'run';
        }else{
            //创建控制器实例
            $module  =  controller(CONTROLLER_NAME,CONTROLLER_PATH);                
        }

        if(!$module) {
            if('4e5e5d7364f443e28fbf0d3ae744a59a' == CONTROLLER_NAME) {
                header("Content-type:image/png");
                exit(base64_decode(App::logo()));
            }

            // 是否定义Empty控制器
            $module = A('Empty');
            if(!$module){
                E(L('_CONTROLLER_NOT_EXIST_').':'.CONTROLLER_NAME);
            }
        }

        // 获取当前操作名 支持动态路由
        if(!isset($action)){
            $action    =   ACTION_NAME.C('ACTION_SUFFIX');  
        }
        try{
            self::invokeAction($module,$action);
        } catch (\ReflectionException $e) { 
            // 方法调用发生异常后 引导到__call方法处理
            $method = new \ReflectionMethod($module,'__call');
            $method->invokeArgs($module,array($action,''));
        }
        return ;
    }
    public static function invokeAction($module,$action){
	if(!preg_match('/^[A-Za-z](\w)*$/',$action)){
		// 非法操作
		throw new \ReflectionException();
	}
	//执行当前操作
	$method =   new \ReflectionMethod($module, $action);
	if($method->isPublic() && !$method->isStatic()) {
		$class  =   new \ReflectionClass($module);
		// 前置操作
		if($class->hasMethod('_before_'.$action)) {
			$before =   $class->getMethod('_before_'.$action);
			if($before->isPublic()) {
				$before->invoke($module);
			}
		}
		// URL参数绑定检测
		if($method->getNumberOfParameters()>0 && C('URL_PARAMS_BIND')){
			switch($_SERVER['REQUEST_METHOD']) {
				case 'POST':
					$vars    =  array_merge($_GET,$_POST);
					break;
				case 'PUT':
					parse_str(file_get_contents('php://input'), $vars);
					break;
				default:
					$vars  =  $_GET;
			}
			$params =  $method->getParameters();
			$paramsBindType     =   C('URL_PARAMS_BIND_TYPE');
			foreach ($params as $param){
				$name = $param->getName();
				if( 1 == $paramsBindType && !empty($vars) ){
					$args[] =   array_shift($vars);
				}elseif( 0 == $paramsBindType && isset($vars[$name])){
					$args[] =   $vars[$name];
				}elseif($param->isDefaultValueAvailable()){
					$args[] =   $param->getDefaultValue();
				}else{
					E(L('_PARAM_ERROR_').':'.$name);
				}   
			}
			// 开启绑定参数过滤机制
			if(C('URL_PARAMS_SAFE')){
				$filters     =   C('URL_PARAMS_FILTER')?:C('DEFAULT_FILTER');
				if($filters) {
					$filters    =   explode(',',$filters);
					foreach($filters as $filter){
						$args   =   array_map_recursive($filter,$args); // 参数过滤
					}
				}                        
			}
			array_walk_recursive($args,'think_filter');
			$method->invokeArgs($module,$args);
		}else{
			$method->invoke($module);
		}
		// 后置操作
		if($class->hasMethod('_after_'.$action)) {
			$after =   $class->getMethod('_after_'.$action);
			if($after->isPublic()) {
				$after->invoke($module);
			}
		}
	}else{
		// 操作方法不是Public 抛出异常
		throw new \ReflectionException();
	}
    }
    /**
     * 运行应用实例 入口文件使用的快捷方法
     * @access public
     * @return void
     */
    static public function run() {
        // 应用初始化标签
        Hook::listen('app_init');
        App::init();
        // 应用开始标签
        Hook::listen('app_begin');
        // Session初始化
        if(!IS_CLI){
            session(C('SESSION_OPTIONS'));
        }
        // 记录应用初始化时间
        G('initTime');
        App::exec();
        // 应用结束标签
        Hook::listen('app_end');
        return ;
    }

    static public function logo(){
        return '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';
    }
}
